import { defineStore } from 'pinia'
import { reqC1, reqC2, reqC3 } from '@/api/product/attr/index'
//引入商品响应数据类型
import type { CategoryResponseData } from '@/api/product/attr/type'
//引入state的数据类型
import type { CategoryState } from './types/type'
const useCategoryStore = defineStore('Category', {
  state: (): CategoryState => {
    return {
      //存储一级分类的数据
      c1Arr: [],
      //存储一级分类的id
      c1Id: '',
      //存储二级分类的数据
      c2Arr: [],
      //存储二级分类的id
      c2Id: '',
      //存储三级分类的数据
      c3Arr: [],
      //存储三级分类的id
      c3Id: '',
    }
  },
  actions: {
    /**
     * 获取一级分类数据
     */
    async getC1(): Promise<void> {
      const result: CategoryResponseData = await reqC1()
      if (result.code === 200) {
        this.c1Arr = result.data
      }
    },

    /**
     * 获取二级分类数据
     */
    async getC2(): Promise<void> {
      const result: CategoryResponseData = await reqC2(this.c1Id)
      if (result.code === 200) {
        this.c2Arr = result.data
      }
    },

    /**
     * 获取三级分类数据
     */
    async getC3(): Promise<void> {
      const result: CategoryResponseData = await reqC3(this.c2Id)
      if (result.code === 200) {
        this.c3Arr = result.data
      }
    },
  },
  getters: {},
})

export default useCategoryStore
